"""
1. 学习目标
    掌握使用unittest结合插件生成测试报告
2. 概念或作用

3. 相关语法
    0.将HTMLTestRunnerPlugins.py文件放到Python/Lib目录中
    1.确定用例文件路径和报告存放路径
    2.生成测试套件
    3.执行测试并生成报告

4. 案例或备注
"""
import unittest
import os
import HTMLTestRunnerPlugins
import time

# 1.确定用例文件路径和报告存放路径
base_path = os.path.dirname(__file__)  # 项目路径
case_path = os.path.join(base_path,'Case')  # 用例路径
report_path = os.path.join(base_path,'Report')  # 报告路径
now = time.strftime('%Y-%m-%d %H_%M_%S')  # 格式化当前时间
# print(now)
report_name = now + ' HTMLReport.html'  # 测试报告名称   windows系统中文件/文件夹名称中不能有:
# print(report_name)
report_file_path = os.path.join(report_path,report_name)  # 测试报告文件路径
print(report_file_path)
# 2.生成测试套件
suite = unittest.defaultTestLoader.discover(case_path)
# 3.执行测试并生成报告
with open(report_file_path,'wb') as fp:
    runner = HTMLTestRunnerPlugins.HTMLTestRunner(
        stream=fp,  # 报告文件
        title='ECShop项目自动化测试报告',  # 报告标题
        description='ECShop项目页面自动化测试',  # 报告描述
        tester='第八组'  # 测试人员
    )
    runner.run(suite)
